package com.st.mall.product.mapper;

import java.util.List;

import com.st.mall.product.model.ProductModel;

public interface IProductMapper {
	
	
	/**
	 * 添加商品
	 * 
	 * @param model
	 * @return
	 */
	int insert(ProductModel productModel);
	
	/**
	 * 根据主键删除
	 * @param code
	 * @return
	 */
	int delete(String code);
	
	/**
	 * 根据其他字段删除
	 * 
	 * @param productModel
	 * @return
	 */
	int deleteModel(ProductModel productModel);
	
	/**
	 * 根据主键修改全部字段
	 * 
	 * @param productModel
	 * @return
	 */
	int update(ProductModel productModel); 
	
	/**
	 * 根据主键修改部分字段
	 * 
	 * @param productModel
	 * @return
	 */
	int updateActive(ProductModel productModel);
	
	/**
	 * 根据主键查询一条记录
	 * 
	 * @param code
	 * @return
	 */
	ProductModel selectId(String code);	// 如果该方法查询到的记录条件大于1，该方法必定抛出异常
	
	/**
	 * 根据多条件查询多记录
	 * 
	 * @param productModel
	 * @return
	 */
	List<ProductModel> selectAll(ProductModel productModel);
	
	/**
	 * 根据多条件查询分页记录
	 * 
	 * @param productModel
	 * @return
	 */
	List<ProductModel> selectModel(ProductModel productModel);
	
	/**
	 * 根据多条件查询总记录条数
	 * 
	 * @param productModel
	 * @return
	 */
	int selectCount(ProductModel productModel);

	
	/**根据name查询一条
	 * @param name
	 * @return
	 */
	List<ProductModel> selectName(String name);
}
